﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL_MechSys;
using DTO_MechSys;

namespace FORMS_MechSys
{
    public partial class frmFuncionarioCadastro : Form
    {
        BLLFuncionario bllFuncionario = new BLLFuncionario();
        DTOFuncionario dtoFuncionario = new DTOFuncionario();
        BLLEndereco bllEndereco = new BLLEndereco();
        DTOEndereco dtoEndereco = new DTOEndereco();
        BLLUnidadeFederal bllUnidadeFederal = new BLLUnidadeFederal();

        DataTable dataTableGridView;
        int funcionarioID, enderecoID;
        DTOCor dtoCorPrincipal = new DTOCor();
        DTOCor dtoCorFundo = new DTOCor();
        DTOCor dtoCorLetra = new DTOCor();
        DTOCor dtoCorDataGrid = new DTOCor();
        BLLCor bllCor = new BLLCor();

        
        

        public frmFuncionarioCadastro()
        {
            InitializeComponent();
            PopulaGrid();
            Habilitar(false);
            tlpEndereco.Visible = false;
            SetColors();
            cmbEstado.DataSource = bllUnidadeFederal.BuscarEstadosCadastrados(); 

            cmbEstado.DisplayMember = "Nome";
            cmbEstado.ValueMember = "UFID";
        }

        private void SetColors()
        {
            dtoCorPrincipal = bllCor.Buscar("Principal");

            btnCancelar.BackColor = btnNovo.BackColor = btnSalvar.BackColor = tlpdados.BackColor = tlpEndereco.BackColor = 
                tlpMenuStripCenter.BackColor = tlpMenuStripLeft.BackColor = tlpMenuStripRigth.BackColor = btnSair.BackColor =
                tableLayoutPanel3.BackColor = tlpMenuStripCenter.BackColor = tlpMenuStripLeft.BackColor = tlpMenuStripRigth.BackColor=
                gpbEndereco.BackColor = btnSair.BackColor = btnPesquisar.BackColor = btnExpandir.BackColor = tableLayoutPanel4.BackColor =
                label25.BackColor = btnEditar.BackColor = btnExcluir.BackColor = tableLayoutPanel5.BackColor = dtoCorPrincipal.Cor;

            dtoCorFundo = bllCor.Buscar("Fundo");
            tlpMenuStrip.BackColor =
            tlpPrincipal.BackColor = dtoCorFundo.Cor;

            dtoCorDataGrid = bllCor.Buscar("DataGrid");
            dtGridFuncionarios.BackgroundColor = dtoCorDataGrid.Cor;

            dtoCorLetra = bllCor.Buscar("Letra");
            label2.ForeColor = label3.ForeColor = label1.ForeColor =
                label10.ForeColor = label11.ForeColor = label12.ForeColor = label13.ForeColor = label14.ForeColor =
                label15.ForeColor = label16.ForeColor = label17.ForeColor = label18.ForeColor = label19.ForeColor =
                label8.ForeColor = label20.ForeColor = label9.ForeColor = label22.ForeColor = label23.ForeColor =
                label25.ForeColor = label5.ForeColor = label6.ForeColor = label7.ForeColor = gpbEndereco.ForeColor =
                label24.ForeColor = btnSair.ForeColor = label21.ForeColor = dtoCorLetra.Cor;


        }

        public void Limpar()
        {
            txtNome.Clear();
            txtSobrenome.Clear();
            msktxtRG.Clear();
            msktxtCPF.Clear();
            msktxtPIS.Clear();
            txtCargo.Clear();
            msktxtSalario.Clear();
            cmbTipoAcesso.SelectedItem = null;
            txtLogin.Clear();
            txtSenha.Clear();
            msktxtTelefone.Clear();
            msktxtCelular.Clear();
            txtEmail.Clear();
            txtRua.Clear();
            txtNumero.Clear();
            txtBairro.Clear();
            txtComplemento.Clear();
            txtCidade.Clear();
            cmbEstado.SelectedItem = null;
            msktxtCEP.Clear();
        }

        public void Habilitar(bool status)
        {
            tlpdados.Enabled = status;
            gpbEndereco.Enabled = status;
            btnNovo.Enabled = !status;
            btnCancelar.Enabled = status;
            btnSalvar.Enabled = status;
        }

        public void PopulaGrid()
        {
            DataRow dataRow;
            dataTableGridView = new DataTable();

            List<DTOFuncionario> ListFuncionarios = bllFuncionario.BuscarFuncionariosCadastrados();

            try
            {
                if (ListFuncionarios.Count > 0)
                {
                    dataTableGridView.Columns.Add("FuncionarioID", typeof(int));
                    dataTableGridView.Columns.Add("Nome", typeof(string));
                    dataTableGridView.Columns.Add("Sobrenome", typeof(string));
                    dataTableGridView.Columns.Add("Nascimento", typeof(string));
                    dataTableGridView.Columns.Add("RG", typeof(string));
                    dataTableGridView.Columns.Add("CPF", typeof(string));
                    dataTableGridView.Columns.Add("PIS", typeof(string));
                    dataTableGridView.Columns.Add("Cargo", typeof(string));
                    dataTableGridView.Columns.Add("Salario", typeof(string));
                    dataTableGridView.Columns.Add("Contratacao", typeof(string));
                    dataTableGridView.Columns.Add("TipoAcesso", typeof(string));
                    dataTableGridView.Columns.Add("Login", typeof(string));
                    dataTableGridView.Columns.Add("Telefone", typeof(string));
                    dataTableGridView.Columns.Add("Celular", typeof(string));
                    dataTableGridView.Columns.Add("Email", typeof(string));
                    dataTableGridView.Columns.Add("EnderecoID", typeof(int));


                    foreach (DTOFuncionario dtoFuncionario in ListFuncionarios)
                    {
                        dataRow = dataTableGridView.NewRow();

                        dataRow["FuncionarioID"] = dtoFuncionario.FuncionarioID;
                        dataRow["Nome"] = dtoFuncionario.Nome;
                        dataRow["Sobrenome"] = dtoFuncionario.Sobrenome;
                        dataRow["Nascimento"] = string.Format("{0:d}", dtoFuncionario.DataNascimento);
                        dataRow["RG"] = dtoFuncionario.RG;
                        dataRow["CPF"] = dtoFuncionario.CPF;
                        dataRow["PIS"] = dtoFuncionario.PIS;
                        dataRow["Cargo"] = dtoFuncionario.Cargo;
                        dataRow["Salario"] = dtoFuncionario.Salario;
                        dataRow["Contratacao"] = string.Format("{0:d}", dtoFuncionario.DataContratacao);
                        dataRow["TipoAcesso"] = dtoFuncionario.TipoAcesso;
                        dataRow["Login"] = dtoFuncionario.Login;
                        dataRow["Telefone"] = dtoFuncionario.Telefone;
                        dataRow["Celular"] = dtoFuncionario.Celular;
                        dataRow["Email"] = dtoFuncionario.Email;
                        dataRow["EnderecoID"] = dtoFuncionario.EnderecoID;

                        // Adiciona linha ao DataTable.
                        dataTableGridView.Rows.Add(dataRow);

                    }
                }

                dtGridFuncionarios.DataSource = dataTableGridView;
            }
            catch (Exception)
            {
                if (new frmMessageBox().Show("Não foi possível carregar os dados para o grid!", "Carregamento", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry)
                {
                    PopulaGrid();
                }
            }

        }

        public void PopulaGrid(string texto)
        {
            DataRow dataRow;
            dataTableGridView = new DataTable();

            List<DTOFuncionario> ListFuncionarios = bllFuncionario.PesquisarFuncionarios(texto);

            try
            {
                if (ListFuncionarios.Count > 0)
                {
                    dataTableGridView.Columns.Add("FuncionarioID", typeof(int));
                    dataTableGridView.Columns.Add("Nome", typeof(string));
                    dataTableGridView.Columns.Add("Sobrenome", typeof(string));
                    dataTableGridView.Columns.Add("Nascimento", typeof(string));
                    dataTableGridView.Columns.Add("RG", typeof(string));
                    dataTableGridView.Columns.Add("CPF", typeof(string));
                    dataTableGridView.Columns.Add("PIS", typeof(string));
                    dataTableGridView.Columns.Add("Cargo", typeof(string));
                    dataTableGridView.Columns.Add("Salario", typeof(string));
                    dataTableGridView.Columns.Add("Contratacao", typeof(string));
                    dataTableGridView.Columns.Add("TipoAcesso", typeof(string));
                    dataTableGridView.Columns.Add("Login", typeof(string));
                    dataTableGridView.Columns.Add("Telefone", typeof(string));
                    dataTableGridView.Columns.Add("Celular", typeof(string));
                    dataTableGridView.Columns.Add("Email", typeof(string));
                    dataTableGridView.Columns.Add("EnderecoID", typeof(int));


                    foreach (DTOFuncionario dtoFuncionario in ListFuncionarios)
                    {
                        dataRow = dataTableGridView.NewRow();

                        dataRow["FuncionarioID"] = dtoFuncionario.FuncionarioID;
                        dataRow["Nome"] = dtoFuncionario.Nome;
                        dataRow["Sobrenome"] = dtoFuncionario.Sobrenome;
                        dataRow["Nascimento"] = string.Format("{0:d}", dtoFuncionario.DataNascimento);
                        dataRow["RG"] = dtoFuncionario.RG;
                        dataRow["CPF"] = dtoFuncionario.CPF;
                        dataRow["PIS"] = dtoFuncionario.PIS;
                        dataRow["Cargo"] = dtoFuncionario.Cargo;
                        dataRow["Salario"] = dtoFuncionario.Salario;
                        dataRow["Contratacao"] = string.Format("{0:d}", dtoFuncionario.DataContratacao);
                        dataRow["TipoAcesso"] = dtoFuncionario.TipoAcesso;
                        dataRow["Login"] = dtoFuncionario.Login;
                        dataRow["Telefone"] = dtoFuncionario.Telefone;
                        dataRow["Celular"] = dtoFuncionario.Celular;
                        dataRow["Email"] = dtoFuncionario.Email;
                        dataRow["EnderecoID"] = dtoFuncionario.EnderecoID;

                        // Adiciona linha ao DataTable.
                        dataTableGridView.Rows.Add(dataRow);

                    }
                }

                dtGridFuncionarios.DataSource = dataTableGridView;
            }
            catch (Exception)
            {
                new frmMessageBox().Show("Registro não encontrado!", "Pesquisa", MessageBoxButtons.OK, MessageBoxIcon.Information);               
            }
        }

        private void btnNovo_Click(object sender, EventArgs e)
        {
            funcionarioID = 0;
            Habilitar(true);
            Limpar();
        }

        private void btnEditar_Click(object sender, EventArgs e)
        {
            Habilitar(true);
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            Limpar();
            Habilitar(false);
        }

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(funcionarioID.ToString()))
            {
                if (new frmMessageBox().Show("Deseja realmente excluir o funcionário " + txtNome.Text + "?", "Exclusão", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    try
                    {
                        bllFuncionario.Excluir(funcionarioID);
                        bllEndereco.Excluir(enderecoID);
                        new frmMessageBox().Show("Funcionário excluído com sucesso!", "Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        Limpar();

                        PopulaGrid();
                    }
                    catch
                    {
                        new frmMessageBox().Show("Não foi possível excluir o funcionário!", "Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                new frmMessageBox().Show("Selecione um funcionário para excluir!", "Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (bllFuncionario.VerificaSeFuncionarioIDExiste(funcionarioID) == false)
            {                
                try
                {

                    dtoEndereco.Rua = txtRua.Text;
                    dtoEndereco.Numero = txtNumero.Text;
                    dtoEndereco.Bairro = txtBairro.Text;
                    dtoEndereco.Complemento = txtComplemento.Text;
                    dtoEndereco.Cidade = txtCidade.Text;
                    dtoEndereco.Estado = (int)cmbEstado.SelectedValue;
                    dtoEndereco.CEP = msktxtCEP.Text;

                    bllEndereco.Inserir(dtoEndereco);

                    int enderecoID = bllEndereco.BuscarUltimoEnderecoID();

                    dtoFuncionario.Nome = txtNome.Text;
                    dtoFuncionario.Sobrenome = txtSobrenome.Text;
                    dtoFuncionario.DataNascimento = Convert.ToDateTime(dtpNascimento.Text);
                    dtoFuncionario.RG = msktxtRG.Text;
                    dtoFuncionario.CPF = msktxtCPF.Text.Replace(".", "").Replace("-", "");
                    dtoFuncionario.PIS = msktxtPIS.Text.Replace("-", "");
                    dtoFuncionario.Cargo = txtCargo.Text;
                    dtoFuncionario.Salario = Double.Parse(msktxtSalario.Text);
                    dtoFuncionario.DataContratacao = Convert.ToDateTime(dtpContratacao.Text);
                    dtoFuncionario.TipoAcesso = 1;// cmbTipoAcesso.Text;
                    dtoFuncionario.Login = txtLogin.Text;
                    dtoFuncionario.Senha = txtSenha.Text;
                    dtoFuncionario.Telefone = msktxtTelefone.Text.Replace("-", "");
                    dtoFuncionario.Celular = msktxtCelular.Text.Replace("-", "");
                    dtoFuncionario.Email = txtEmail.Text;
                    dtoFuncionario.EnderecoID = enderecoID;

                    if (!string.IsNullOrEmpty(txtNome.Text) && !string.IsNullOrEmpty(txtSobrenome.Text) && !string.IsNullOrEmpty(msktxtCelular.Text)
                        && !string.IsNullOrEmpty(msktxtCPF.Text) && !string.IsNullOrEmpty(msktxtSalario.Text) && !string.IsNullOrEmpty(dtpContratacao.Text))
                    {
                        bllFuncionario.Inserir(dtoFuncionario);
                        new frmMessageBox().Show("Funcionário cadastrado com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Limpar();
                        Habilitar(false);
                        PopulaGrid();
                    }
                    else
                    {
                        new frmMessageBox().Show("Os campos Nome, Sobrenome, Celular, CPF, Salário e Data de Contratação são obrigatórios!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                catch (Exception)
                {
                    new frmMessageBox().Show("Não foi possível cadastrar o funcionário!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                Atualizar();
            }
        }

        private void Atualizar()
        {            
            try
            {

                dtoEndereco.Rua = txtRua.Text;
                dtoEndereco.Numero = txtNumero.Text;
                dtoEndereco.Bairro = txtBairro.Text;
                dtoEndereco.Complemento = txtComplemento.Text;
                dtoEndereco.Cidade = txtCidade.Text;
                dtoEndereco.Estado = (int)cmbEstado.SelectedValue;
                dtoEndereco.CEP = msktxtCEP.Text;

                bllEndereco.Atualizar(dtoEndereco);

                int enderecoID = bllEndereco.BuscarUltimoEnderecoID();

                dtoFuncionario.FuncionarioID = funcionarioID;
                dtoFuncionario.Nome = txtNome.Text;
                dtoFuncionario.Sobrenome = txtSobrenome.Text;
                dtoFuncionario.DataNascimento = Convert.ToDateTime(dtpNascimento.Text);
                dtoFuncionario.RG = msktxtRG.Text;
                dtoFuncionario.CPF = msktxtCPF.Text.Replace(".", "").Replace("-", "");
                dtoFuncionario.PIS = msktxtPIS.Text.Replace("-", "");
                dtoFuncionario.Cargo = txtCargo.Text;
                dtoFuncionario.Salario = Double.Parse(msktxtSalario.Text);
                dtoFuncionario.DataContratacao = Convert.ToDateTime(dtpContratacao.Text);
                dtoFuncionario.TipoAcesso = 1;// cmbTipoAcesso.Text;
                dtoFuncionario.Login = txtLogin.Text;
                dtoFuncionario.Senha = txtSenha.Text;
                dtoFuncionario.Telefone = msktxtTelefone.Text.Replace("-", "");
                dtoFuncionario.Celular = msktxtCelular.Text.Replace("-", "");
                dtoFuncionario.Email = txtEmail.Text;
                dtoFuncionario.EnderecoID = enderecoID;

                if (!string.IsNullOrEmpty(txtNome.Text) && !string.IsNullOrEmpty(txtSobrenome.Text) && !string.IsNullOrEmpty(msktxtCelular.Text)
                    && !string.IsNullOrEmpty(msktxtCPF.Text) && !string.IsNullOrEmpty(msktxtSalario.Text) && !string.IsNullOrEmpty(dtpContratacao.Text))
                {
                    bllFuncionario.Atualizar(dtoFuncionario);
                    new frmMessageBox().Show("Funcionário atualizado com sucesso!", "Atualização", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Limpar();
                    Habilitar(false);
                    PopulaGrid();
                }
                else
                {
                    new frmMessageBox().Show("Os campos Nome, Sobrenome, Celular, CPF, Salário e Data de Contratação são obrigatórios!", "Atualização", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception)
            {
                new frmMessageBox().Show("Não foi possível atualizar o funcionário!", "Atualização", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void toolStripButtonSair_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void dtGridFuncionarios_CellClick(object sender, DataGridViewCellEventArgs e)
        {           
            if (e.RowIndex != -1)
            {
                if(!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["FuncionarioIDD"].Value.ToString()))
                funcionarioID = (int)dtGridFuncionarios.Rows[e.RowIndex].Cells["FuncionarioIDD"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Nome"].Value.ToString()))
                txtNome.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Nome"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Sobrenome"].Value.ToString()))
                txtSobrenome.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Sobrenome"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Nascimento"].Value.ToString()))
                dtpNascimento.Text = dtGridFuncionarios.Rows[e.RowIndex].Cells["Nascimento"].Value.ToString();
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["RG"].Value.ToString()))
                msktxtRG.Text = (string)dataTableGridView.Rows[e.RowIndex]["RG"];
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["CPF"].Value.ToString()))
                msktxtCPF.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["CPF"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["PIS"].Value.ToString()))
                msktxtPIS.Text = (string)dataTableGridView.Rows[e.RowIndex]["PIS"];
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Cargo"].Value.ToString()))
                txtCargo.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Cargo"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Salario"].Value.ToString()))
                msktxtSalario.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Salario"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["TipoAcesso"].Value.ToString()))
                cmbTipoAcesso.Text = (string)dataTableGridView.Rows[e.RowIndex]["TipoAcesso"];
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Contratacao"].Value.ToString()))
                dtpContratacao.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Contratacao"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Login"].Value.ToString()))
                txtLogin.Text = (string)dataTableGridView.Rows[e.RowIndex]["Login"];
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Telefone"].Value.ToString()))
                msktxtTelefone.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Telefone"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Celular"].Value.ToString()))
                msktxtCelular.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Celular"].Value;
                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["Email"].Value.ToString()))
                txtEmail.Text = (string)dtGridFuncionarios.Rows[e.RowIndex].Cells["Email"].Value;


                if (!string.IsNullOrEmpty(dtGridFuncionarios.Rows[e.RowIndex].Cells["EnderecoID"].Value.ToString()))
                enderecoID = (int)dtGridFuncionarios.Rows[e.RowIndex].Cells["EnderecoID"].Value;
                DTOEndereco enderecoCliente = bllEndereco.BuscarEnderecoPorEnderecoID(enderecoID);

                txtRua.Text = enderecoCliente.Rua;
                txtNumero.Text = enderecoCliente.Numero;
                txtBairro.Text = enderecoCliente.Bairro;
                txtComplemento.Text = enderecoCliente.Complemento;
                txtCidade.Text = enderecoCliente.Cidade;
                cmbEstado.Text = bllUnidadeFederal.BuscarEstadosPorUFID(enderecoCliente.Estado).Nome;
                msktxtCEP.Text = enderecoCliente.CEP;


                Habilitar(false);
                btnEditar.Enabled = true;
            }
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtPesquisar.Text))
            {
                PopulaGrid(txtPesquisar.Text);
            }
        }

        private void msktxtCPF_Leave(object sender, EventArgs e)
        {
            string cpf = msktxtCPF.Text.Replace(".", "").Replace("-", "");

            if (BLLUtilitarios.IsCpf(cpf) == false)
            {
                new frmMessageBox().Show("CPF Inválido! Insira novamente o valor", "Validação do CPF", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                msktxtCPF.Focus();
            }          
        }

        private void msktxtPIS_Leave(object sender, EventArgs e)
        {
            string pis = msktxtPIS.Text.Replace("-", "");

            if (BLLUtilitarios.IsCpf(pis) == false)
            {
                new frmMessageBox().Show("PIS Inválido! Insira novamente o valor", "Validação do PIS", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                msktxtCPF.Focus();
            }      
        }

        private void btnExpandir_Click(object sender, EventArgs e)
        {
            if (tlpPrincipal.RowStyles[1].Height == 320)
            {
                tlpPrincipal.RowStyles[1] = (new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 432F));
                tlpEndereco.Visible = true;
            }
            else
            {
                tlpPrincipal.RowStyles[1] = (new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 320F));
                tlpEndereco.Visible = false;
            }
        }
    }
}
